#include <iostream>
#include <sys/msg.h>
#include <unistd.h>
#include <string.h>
#include "../macro.h"

using std::cout;
using std::endl;

struct Buf{
    long mtype;
    char buf[64];
};

int main(int args, char *argv[])
{
    ARGS_CEHCK(args, 2)
    int msgid = msgget(1000, IPC_CREAT | 0600);
    ERR_CHECK(msgid, -1, "msgget")

    struct Buf buf{0};
    int ret = msgrcv(msgid, &buf, sizeof(buf.buf), atoi(argv[1]), 0);
    ERR_CHECK(ret, -1, "msgrcv")

    printf("rcv: %s\n", buf.buf);

    return 0;
}